【VTK】VTK8.2.0 + VS2015 + Win10 编译与配置

您所在的位置:网站首页 vscodeplatformio源码编译错误 库文件报错 【VTK】VTK8.2.0 + VS2015 + Win10 编译与配置

【VTK】VTK8.2.0 + VS2015 + Win10 编译与配置

2024-07-11 23:30| 来源: 网络整理| 查看: 265

VTK8.2.0 + VS2015 + Win10 编译与配置 特别鸣谢 “熬一条味道鲜美的鱼”博主给予的技术支持 请参考:VTK8.2.0+ITK4.13.2+VS2015配置

这里只编译VTK库, 没有编译VTK其中的例子和其包含的数据。 由于项目需要 只能使用VS2015版本,而编译过程也适用于VS2017和VS2019;

1 下载源码 1.1 VTK源码在VTK官网下载

下载地址:https://vtk.org/download/ 在这里插入图片描述 在8.2.0 release版本中 Source 选择一个压缩包下载即可。

1.2 CMake官网下载

下载地址:https://cmake.org/download/ 在这里插入图片描述 选择最新的Release版本,根据你windows版本选择Platform,我是64位系统,所以选择 Windows win64-X64 Installer 的安装包,下载后直接安装即可,最好以管理员身份安装。

2. 利用CMake生成VTK 的VS2015的项目文件

解压VTK源码得到 VTK-8.2.0文件夹 ,打开看看如果还有一层VTK8.2.0 可以在当新建一个文件夹 VTK-8.2.0-build(生成的VS项目文件) 和 VTK-8.2.0-prefix(VS编译生成的 VTK库文件) 在这里插入图片描述

2.1 打开安装好的Cmake (cmake-gui)(请忽略我的版本不是最新版本)选则vtk的源码路径和vtk的生成路径 就是上一步的两个文件夹,点击configure。

在这里插入图片描述

2.2 选择VS环境 我是VS2015 64位版,点击finish 开始加载配置 等一会儿,直到出现 红色区域和Configuring done。

在这里插入图片描述 在这里插入图片描述

2.3 修改配置参数 2.3.1 勾选 BUILD下的 BUILD_SHARED_LIBS (例子测试我都没勾选 如果想用 勾选) 2.3.2 修改 CMAKE 下 CMAKE_INSTALL_PREFIX 选项的路径为之前新建的VTK-8.2.0-prefix路径 2.3.3 如果想支持MFC 勾选 Module下的Module_vtkGUISupportMFC 选项 2.3.4 点击Configure按钮 直至红色部分消失,点击Generate按钮 生成项目文件 2.3.5 这里参考LiveAn博主的 《VTK8.2.0编译安装与测试用例运行(win10 + VS2017 + Qt5,Release+Debug)》设置CMAKE_DEBUG_POSTFIX的值,该变量表示在Debug模式下输出的文件名的后面加上的字符,设置为”_d”,则最后Debug模式下编译生成的文件名后面都有"_d"后缀,从而区分Release模式与Debug模式所用文件(我没有设置 大家可以设置,这样在生成debug版后再生成release时不会覆盖之前生成的文件)

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

3 进入生成的VS2015项目文件,进行VTK库的编译 3.1 打开之前新建的VTK-8.2.0-build文件夹, 使用VS2015打开VTK.sln (最好以管理员身份打开 win10对于修改C盘数据很敏感,有可能导致编译失败,关闭360等防御软件,关闭没有必要的程序)在这里插入图片描述 3.2 默认属性为debug x64 ,右键ALL_BUILD 选择Build 进行编译 ,时间较长 慢慢等待 生成期间最好不要操作电脑,完成后看输出是否全部成功,如果成功右键INSTALL项目选择build编译,则VTK库成功生成,生成的文件存储在VTK-8.2.0-prefix下(Debug版)

在这里插入图片描述 在这里插入图片描述

3.3 将VTK-8.2.0-prefix下的include、bin、lib、share (share貌似没啥用) 拷贝到你自己建立的VTK库文件夹下,例如:新建VTK820,并在该文件夹下新建debug和release两个文件夹,因为include和share文件是debug和release版本共用的,将include和share文件夹存放在VTK820下即可,将生成的bin和lib文件拷贝到对应文件夹下 如debug环境下在VTK-8.2.0-prefix生成的bin和lib文件夹放在VTK820的debug文件夹下。

在这里插入图片描述

3.4 而后在VS2015中将Debug改为Release后重复3.2的操作会生成release版本的VTK库(注意:VTK-8.2.0-prefix下生成的bin和lib会被覆盖 提前拷出来)将库文件按3.3描述保存lib和bin到release中

在这里插入图片描述

4 VTK的使用

配置VTK库,包括(1)添加环境变量VTK820的bin文件夹目录(debug和release用到哪个填哪个就行)(配置完需要重启vs或重启电脑),新建控制台应用程序(2)修改项目属性包含目录和lib库目录,(3)并将使用的lib文件名添加到Link->Iput->Additional Dependencies 中 (这里有个方法获取所有lib名,在lib文件家下新建.txt文件,输入 dir /b *.lib > debug.txt 将改文件后缀名改为.bat 双击改文件 会生成debug.txt文件 里边包含了所有lib文件名) 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

测试代码

#include #include #include #include #include #include #include #include #include #include #include #include VTK_MODULE_INIT(vtkRenderingOpenGL2); //未使用cmake生成的项目需要加 VTK_MODULE_INIT(vtkInteractionStyle);//未使用cmake生成的项目需要加 int main() {//hello vtk程序 vtkSmartPointer colors = vtkSmartPointer::New(); std::array bkg{ { 26, 51, 102, 255 } }; colors->SetColor("BkgColor", bkg.data()); vtkSmartPointer cylinder = vtkSmartPointer::New(); cylinder->SetResolution(8); vtkSmartPointer cylinderMapper = vtkSmartPointer::New(); cylinderMapper->SetInputConnection(cylinder->GetOutputPort()); vtkSmartPointer cylinderActor = vtkSmartPointer::New(); cylinderActor->SetMapper(cylinderMapper); cylinderActor->GetProperty()->SetColor( colors->GetColor4d("Tomato").GetData()); cylinderActor->RotateX(30.0); cylinderActor->RotateY(-45.0); vtkSmartPointer renderer = vtkSmartPointer::New(); renderer->AddActor(cylinderActor); renderer->SetBackground(colors->GetColor3d("BkgColor").GetData()); renderer->ResetCamera(); renderer->GetActiveCamera()->Zoom(1.5); vtkSmartPointer renderWindow = vtkSmartPointer::New(); renderWindow->SetSize(300, 300); renderWindow->AddRenderer(renderer); renderWindow->SetWindowName("Cylinder"); vtkSmartPointer renderWindowInteractor = vtkSmartPointer::New(); renderWindowInteractor->SetRenderWindow(renderWindow); renderWindow->Render(); renderWindowInteractor->Start(); return 0; }


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3